#!/bin/bash
set -e

# 创建必要的目录
echo "创建必要的目录..."
for dir in /app/uploads /app/backend /app/backend/public; do
    if ! mkdir -p "$dir"; then
        echo "错误：无法创建目录 $dir"
        exit 1
    fi
done

# 设置权限
echo "设置目录权限..."
chmod 755 /app/uploads
chmod 755 /app/backend
chmod 755 /app/backend/public

# 检查后端目录
echo "检查后端目录..."
if [ ! -d "/app/backend" ]; then
    echo "错误：后端目录不存在"
    exit 1
fi

if [ ! -f "/app/backend/package.json" ]; then
    echo "错误：后端package.json不存在"
    exit 1
fi

# 检查静态文件目录
echo "检查静态文件目录..."
if [ ! -d "/app/backend/public" ]; then
    echo "错误：静态文件目录不存在"
    exit 1
fi

# 检查前端构建文件
echo "检查前端构建文件..."
if [ ! -f "/app/backend/public/index.html" ]; then
    echo "错误：前端构建文件不存在"
    exit 1
fi

if [ ! -d "/app/backend/public/static" ]; then
    echo "错误：前端静态资源目录不存在"
    exit 1
fi

# 启动后端服务
echo "启动后端服务..."
cd /app/backend
npm start &
BACKEND_PID=$!

# 监控进程
echo "开始监控进程..."
while true; do
    # 检查后端进程
    if ! kill -0 $BACKEND_PID 2>/dev/null; then
        echo "后端服务进程已停止！"
        exit 1
    fi
    
    sleep 5
done 